import request from './request'

/**
 * 购物车相关API
 */

/**
 * 获取购物车列表
 * @returns {Promise} 购物车列表响应
 */
export const getCartList = () => {
    return request({
        url: '/api/user/cart',
        method: 'GET'
    })
}

/**
 * 添加商品到购物车
 * @param {Object} data - 购物车数据
 * @param {number} data.productId - 商品ID
 * @param {number} data.quantity - 商品数量
 * @returns {Promise} 添加响应
 */
export const addToCart = (data) => {
    return request({
        url: '/api/user/cart',
        method: 'POST',
        data
    })
}

/**
 * 更新购物车商品数量
 * @param {number} id - 购物车项ID
 * @param {Object} data - 更新数据
 * @param {number} data.quantity - 新的商品数量
 * @returns {Promise} 更新响应
 */
export const updateCartItem = (id, data) => {
    return request({
        url: `/api/user/cart/${id}`,
        method: 'PUT',
        data
    })
}

/**
 * 删除购物车商品
 * @param {number} id - 购物车项ID
 * @returns {Promise} 删除响应
 */
export const removeCartItem = (id) => {
    return request({
        url: `/api/user/cart/${id}`,
        method: 'DELETE'
    })
}

/**
 * 批量删除购物车商品
 * @param {Array} cartIds - 购物车项ID数组
 * @returns {Promise} 批量删除响应
 */
export const batchRemoveCartItems = (cartIds) => {
    return request({
        url: '/api/user/cart/batch',
        method: 'DELETE',
        data: cartIds
    })
}
